home *** CD-ROM | disk | FTP | other *** search
- ========================================================
-
- Wimp Application Support Program.
-
- SWI description for version 1.02 and above.
-
- All SWI's preserve all registers, except of course
- for those that return data on exit.
-
- R0 will *only* be corrupted if an error occurred.
- (R0 pointer to the error block, V flag set)
-
- --------------------------------------------------------
-
- WASP_Workspace
-
- On exit R0 = Pointer to WASP's workspace
- R1 = Total amount of workspace
-
- Remarks Any calls to WASP or even events like a
- mode change will corrupt the workspace
- Please bear in mind that you are probably
- not the only application that uses WASP
- Do NOT use this workspace from an interrupt
- routine, only from within an application !
-
- --------------------------------------------------------
-
- WASP_Initialise
-
- On entry R0 = Minimal Wimp version number * 100
- R1 = Pointer to short description of task,
- for use in Task manager display
-
- On exit R0 = Current Wimp version number * 100
- R1 = Task handle
-
- --------------------------------------------------------
-
- WASP_CloseDown
-
- On entry R0 = Task handle
-
- --------------------------------------------------------
-
- WASP_OpenWindow
-
- On entry R0 = Window handle
- R1 = On top of window stack or original
- position (true/false)
- R2 = Centred or original screen position
- (true/false)
-
- --------------------------------------------------------
-
- WASP_CloseWindow
-
- On entry R0 = Window handle
-
- --------------------------------------------------------
-
- WASP_Select
-
- On entry R0 = Window handle
- R1 = Icon handle
- R2 = Selected (true/false)
-
- Remarks Icon is updated
-
- --------------------------------------------------------
-
- WASP_SelectState
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- On exit R2 = Selected (true/false)
-
- --------------------------------------------------------
-
- WASP_Shade
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
- R2 = Shaded (true/false)
-
- --------------------------------------------------------
-
- WASP_ShadeState
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
-
- On exit R2 = Shaded (true/false)
-
- --------------------------------------------------------
-
- WASP_Tick
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
- R2 = Ticked (true/false)
-
- --------------------------------------------------------
-
- WASP_TickState
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
-
- On exit R2 = Ticked (true/false)
-
- --------------------------------------------------------
-
- WASP_SetCaret
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- Remarks The caret is placed at the rightmost of the
- string contained in the icon
-
- --------------------------------------------------------
-
- WASP_UpdateCaret
-
- On entry R0 = Task handle
-
- Remarks If the caret is inside an icon owned by
- this task it will be placed at the right
- side of the string it contains (if any)
-
- --------------------------------------------------------
-
- WASP_UpdateIcon
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- --------------------------------------------------------
-
- WASP_UpdateTitle
-
- On entry R0 = Window handle
-
- --------------------------------------------------------
-
- WASP_UpdateWindow
-
- On entry R0 = Window handle
-
- Remarks Update is rather crude by closing and
- re-opening the window if it was open
-
- --------------------------------------------------------
-
- WASP_IconText
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- On exit R0 = Pointer to icon text
- R1 = Icon data is indirected (true/false)
- R2 = Maximum length of string
-
- --------------------------------------------------------
-
- WASP_SetIconText
-
- On entry R0 = Window handle
- R1 = Icon handle
- R2 = Pointer to icon text
-
- Remarks Icon is updated but must be indirected
- The caret (if present) is not updated
-
- --------------------------------------------------------
-
- WASP_IconValid
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- On exit R0 = Pointer to validation string
-
- --------------------------------------------------------
-
- WASP_SetIconValid
-
- On entry R0 = Window handle
- R1 = Icon handle
- R2 = Pointer to validation string
-
- Remarks The icon is updated
-
- --------------------------------------------------------
-
- WASP_EntryText
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
-
- On exit R0 = Pointer to icon text
- R1 = Indirected icon data (true/false)
- R2 = Maximum length of string
-
- --------------------------------------------------------
-
- WASP_SetEntryText
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
- R2 = Pointer to icon text
-
- --------------------------------------------------------
-
- WASP_EntryValid
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
-
- On exit R0 = Pointer to validation string
-
- --------------------------------------------------------
-
- WASP_SetEntryValid
-
- On entry R0 = Pointer to menu block
- R1 = Icon handle
- R2 = Pointer to validation string
-
- --------------------------------------------------------
-
- WASP_WindowTitle
-
- On entry R0 = Window handle
-
- On exit R0 = Pointer to window title
- R1 = Window title is indirected (true/false)
- R2 = Maximum length of string
-
- --------------------------------------------------------
-
- WASP_SetWindowTitle
-
- On entry R0 = Window handle
- R1 = Pointer to window title
-
- --------------------------------------------------------
-
- WASP_CaretInfo
-
- On exit R0=Window handle (-1 for none)
- R1=Icon handle (-1 for none)
- R2=X offset of caret relative to work area
- R3=Y offset of caret relative to work area
- R4=Height and flags (-1 if not displayed)
- R5=Index into string (if in writeable icon)
-
-
- --------------------------------------------------------
-
- WASP_IconInfo
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- On exit R0 = Minimum X coordinate of bounding box
- R1 = Minimum Y coordinate of bounding box
- R2 = Maximum X coordinate of bounding box
- R3 = Maximum Y coordinate of bounding box
- R4 = Icon flags
- R5 = Icon data word 1
- R6 = Icon data word 2
- R7 = Icon data word 3
-
- --------------------------------------------------------
-
- WASP_ModeInfo
-
- On exit R0 = Maximum screen X coordinate
- R1 = Maximum screen Y coordinate
- R2 = X shift factor (e.g. 1 for mode 12)
- R3 = Y shift factor (e.g. 2 for mode 12)
- R4 = Mode flags
- R5 = Number of colours (1,3,15 or 63)
-
- --------------------------------------------------------
-
- WASP_PointerInfo
-
- On exit R0 = Window handle
- R1 = Icon handle
- R2 = Mouse X position
- R3 = Mouse Y position
- R4 = Mouse button state
-
- --------------------------------------------------------
-
- WASP_TaskInfo
-
- On entry R0 = Window handle
- R1 = Icon handle
-
- On exit R0 = Task handle of owner of window
-
- --------------------------------------------------------
-
- WASP_WindowInfo
-
- On entry R0 = Window handle
-
- On exit R0 = Visible area minimum X coordinate
- R1 = Visible area minimum Y coordinate
- R2 = Visible area maximum X coordinate
- R3 = Visible area maximum Y coordinate
- R4 = Scroll X offset relative to work area
- R5 = Scroll Y offset relative to work area
- R6 = Handle of window in front of this one
- R7 = Window flags
-
- --------------------------------------------------------
-
- WASP_LoadWindow
-
- On entry R0 = Pointer to window identifier
- R1 = Pointer to sprite area control block
- (+1 for Wimp sprite area)
- R2 = Pointer to workspace for indirected
- icons
- R3 = Pointer to end of workspace
- R4 = Pointer to 256-byte font reference
- array (-1 for no fonts)
-
- On exit R0 = Window handle
- R2 = Pointer to remaining workspace
-
- --------------------------------------------------------
-
- WASP_LoadSprites
-
- On entry R0 = Pointer to pathname
- R1 = Pointer to sprite area control block
- R2 = Total size of sprite area
-
- --------------------------------------------------------
-
- WASP_SetIconState
-
- On entry R0 = Window handle
- R1 = Icon handle
- R2 = EOR word
- R3 = Clear word
-
- Remarks Identical to Wimp_SetIconState, but this
- call doesn't need a buffer block
-
- --------------------------------------------------------
-
- WASP_SpriteOp
-
- On entry R0 = Reason code
- R1 = Pointer to sprite area control block
- (+1 for Wimp sprite area)
- Other registers as for OS_SpriteOp
-
- On exit Registers returned as from OS_SpriteOp
-
- Remarks R1 = 1 selects Wimp_SpriteOp
- R1 <> 1 selects OS_SpriteOp
-
- --------------------------------------------------------
-
- WASP_GCol
-
- On entry R0 = GCOL action, add 8 for background
- R1 = Wimp colour
-
- --------------------------------------------------------
-
- WASP_MemCopy
-
- On entry R0 = Pointer to source block
- R1 = Pointer to destination block
- R2 = Block size
-
- Remarks Typical speeds on a standard (MEMC1) A310:
-
- Byte aligned approximately 3.0 Mb/second
- Word aligned approximately 6.7 Mb/second
-
- --------------------------------------------------------
-
- WASP_StringCopy
-
- On entry R0 = Pointer to source string
- R1 = Pointer to destination string
- R2 = Maximum string length to copy
-
- Remarks String should be control terminated
- It will first test if the string will fit,
- only if this is true it will copy
-
- --------------------------------------------------------
-
- WASP_StringLen
-
- On entry R0 = Pointer to string
-
- On exit R0 = Length of string
-
- --------------------------------------------------------
-
- WASP_LeafName
-
- On entry R0 = Pointer to string
-
- On exit R0 = Pointer to leafname at end of string
-
- Remarks The pointer returned is actually in the
- original string itself
-
- --------------------------------------------------------
-
- WASP_Iconbar
-
- On entry R0 = Pointer to spritename
- R1 = Positioned left or right (true/false)
-
- On exit R0 = Icon handle of iconbar icon
-
- Remarks Sprite must be in the Wimp sprite area
-
- --------------------------------------------------------
-
- WASP_DragIcon
-
- On entry R0 = Window handle
- R1 = Icon handle
- R2 = Mouse X coordinate
- R3 = Mouse Y coordinate
-
- Remarks Initiate a full screen type 5 Wimp_DragBox
-
- --------------------------------------------------------
-
- WASP_BGet
-
- On entry R0 = File handle
- R1 = Sequential file pointer
-
- On exit R1 = Updated sequential file pointer
- R2 = Byte read from file
-
- --------------------------------------------------------
-
- WASP_BPut
-
- On entry R0 = File handle
- R1 = Sequential file pointer
- R2 = Byte to put in file
-
- On exit R1 = Updated sequential file pointer
-
- --------------------------------------------------------
-
- WASP_SGet
-
- On entry R0 = File handle
- R1 = Sequential file pointer
-
- On exit R1 = Updated sequential file pointer
- R2 = Pointer to string read from file
-
- --------------------------------------------------------
-
- WASP_SPut
-
- On entry R0 = File handle
- R1 = Sequential file pointer
- R2 = Pointer to string to put in file
-
- On exit R1 = Updated sequential file pointer
-
- ========================================================
-
- This application is freeware. You may copy it freely
- but only when you copy this application and all it's
- related data files completely without omissions and
- you do not gain any financial profit from doing so.
-
- If you have any comments or suggestions about this
- program, please contact the author as :
-
- Jan-Herman Buining
- Brahmslaan 11c
- 5654 NW Eindhoven
- Tel.: (0)40 512816
- The Netherlands
-
- ========================================================
-